tools/libxl: Convert a legacy stream if needed
authorAndrew Cooper <andrew.cooper3@citrix.com>
Sat, 13 Jun 2015 13:34:42 +0000 (14:34 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 15 Jul 2015 10:22:53 +0000 (11:22 +0100)
commitd9c879039393bb14760966bf7076a2d40d45b124
treecb713521ca286125fb587d5adeb804662b6cb6b3
parent4b405e6cff3c3fa7e3f5518f47b7477378b4410c
tools/libxl: Convert a legacy stream if needed

For backwards compatibility, a legacy stream needs converting before
it can be read by the v2 stream logic.

This causes the v2 stream logic to need to juggle two parallel tasks.
check_all_finished() is introduced for the purpose of joining the
tasks in both success and error cases.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v4: Alter logic layout in check_all_finished()
v3: Simplified greatly from v2.  No practical change.
tools/libxl/libxl_internal.h
tools/libxl/libxl_stream_read.c